package com.yonyou.pmclouds.workstopreport.rmiitf;

import com.yonyou.pmclouds.basecom.entity.PageObject;
import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.project.entity.ProjectVO;
import com.yonyou.pmclouds.workstopreport.entity.WorkStopVO;

import java.util.List;
import java.util.Map;

public interface WorkStopQuery {
    /**
     * 通过项目ID查询所有条件
     */
    WorkStopVO[] getAllCondition(String projectId);
    /**
     * 通过项目ID查询所有的单据
     */
    WorkStopVO[] getAllBill(String projectId);
    /**
     * 查询停工报告总数量
     */
    Integer counts();
    /**
     * 通过报告ID查询停工报告
     */
    WorkStopVO getReport(String reportId) throws BusinessException;
    /**
     * 根据项目状态查询所有项目
     */
    ProjectVO[] getProject(String status);
    /**
     * g
     * 根据项目ID获取项目的详细信息
     */
    ProjectVO getProjectById(String projectId);
    /**
     * 根据条件查询停工条件
     */
    PageObject<Object> queryByCondition(String[] pkProject,
                                        String[] creators,
                                        String startDate,
                                        String endDate,
                                        int[] billStatus,
                                        int start,
                                        int size) throws BusinessException;
    Map<String,List<WorkStopVO>> queryByProjects(String[] projectIds);

    /**
     * 根据主键查询停工单
     * @param ids
     * @return
     */
    Map<String,WorkStopVO> queryByIds(String[] ids);
}
